home *** CD-ROM | disk | FTP | other *** search
/ Enter 2004 January / enter-2004-01.iso / files / maxima-5.9.0.exe / {app} / share / maxima / 5.9.0 / src / invert.lisp < prev    next >
Encoding:
Text File  |  2003-02-09  |  2.3 KB  |  70 lines

  1. ;;; -*-  Mode: Lisp; Package: Maxima; Syntax: Common-Lisp; Base: 10 -*- ;;;;
  2. ;;;Translated on: 5/12/85 13:57:48;;Maxima System version 8
  3. ;;** Variable settings were **
  4.  
  5. (in-package "MAXIMA")
  6.  
  7. ;;TRANSCOMPILE:FALSE;
  8. ;;TR_SEMICOMPILE:FALSE;
  9. ;;TRANSLATE_FAST_ARRAYS:TRUE;
  10. ;;TR_WARN_UNDECLARED:COMPILE;
  11. ;;TR_WARN_MEVAL:COMPFILE;
  12. ;;TR_WARN_FEXPR:COMPFILE;
  13. ;;TR_WARN_MODE:ALL;
  14. ;;TR_WARN_UNDEFINED_VARIABLE:ALL;
  15. ;;TR_FUNCTION_CALL_DEFAULT:GENERAL;
  16. ;;TR_ARRAY_AS_REF:TRUE;
  17. ;;TR_NUMER:FALSE;
  18. ;;DEFINE_VARIABLE:FALSE;
  19. (EVAL-WHEN (COMPILE EVAL LOAD)
  20.  (DEFPROP $ADJOINT T TRANSLATED)
  21.  (ADD2LNC '$ADJOINT $PROPS)
  22.  (DEFMTRFUN
  23.   ($ADJOINT $ANY MDEFINE NIL NIL)
  24.   ($MAT)
  25.   NIL
  26.   ((LAMBDA
  27.     ($ADJ $N)
  28.     NIL
  29.     (SETQ $N ($LENGTH $MAT))
  30.     (SETQ $ADJ (SIMPLIFY ($IDENT $N)))
  31.     (COND
  32.      ((NOT (LIKE $N 1))
  33.       (DO (($I 1 (f+ 1 $I)))
  34.           ((> $I $N) '$DONE)
  35.         (DO (($J 1 (f+ 1 $J)))
  36.             ((> $J $N) '$DONE)
  37.          (MASET (MUL* (POWER -1 (f+ $I $J))
  38.                       (SIMPLIFY ($DETERMINANT (SIMPLIFY ($MINOR $MAT
  39.                                                                 $J
  40.                                                                 $I)))))
  41.                 $ADJ
  42.                 $I
  43.                 $J)))))
  44.     $ADJ)
  45.    '$ADJ
  46.    '$N)))
  47. (EVAL-WHEN (COMPILE EVAL LOAD)
  48.        (DEFPROP $INVERT T TRANSLATED)
  49.        (ADD2LNC '$INVERT $PROPS)
  50.        (DEFMTRFUN ($INVERT $ANY MDEFINE NIL NIL)
  51.                   ($MAT)
  52.                   NIL
  53.                   ((LAMBDA ($ADJ $ANS)
  54.                        NIL
  55.                        (SETQ $ADJ (SIMPLIFY ($ADJOINT $MAT)))
  56.                        (SETQ $ANS ((LAMBDA ($SCALARMATRIXP)
  57.                                        NIL
  58.                                        (DIV $ADJ
  59.                                             (NCMUL2 (SIMPLIFY ($ROW $MAT 1))
  60.                                                     (SIMPLIFY ($COL $ADJ
  61.                                                                     1)))))
  62.                                    T))
  63.                        (COND ((AND (LIKE (TRD-MSYMEVAL $SCALARMATRIXP
  64.                                                        '$SCALARMATRIXP)
  65.                                          T)
  66.                                    (EQL ($LENGTH $MAT) 1))
  67.                               (MAREF $ANS 1 1))
  68.                              (T $ANS)))
  69.                    '$ADJ
  70.                    '$ANS)))